<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    html,
    body {
      height: 100%;
    }

    img {
      position: absolute;
    }
  </style>
</head>

<body>
  <img src="./angel.gif" alt="">

  <script src="./jquery.js"></script>
  <script>
    // 使用 timer 当做开关（节流阀）。
    // - 开关 打开状态（timer = null），则允许执行代码。
    // - 开关是关闭状态（timer = 数字），则不允许执行代码。

    let timer = null; // null，表示节流阀打开状态，允许执行事件里面的代码

    let img = $('img');
    $(document).on('mousemove', function (e) {
      // 
      console.log(111)
      // 当事件触发了，判断一下，节流阀的状态，如果是关闭状态，则不允许创建另一个定时器
      if (timer !== null) return;

      timer = setTimeout(() => {
        console.log(222);
        let x = e.pageX;
        let y = e.pageY;
        // 设置图片的css（left和top）
        img.css({ left: x + 'px', top: y + 'px' });
        // 当定时器执行完毕，重新打开节流阀
        timer = null;
      }, 16);

    });

  </script>
</body>

</html>